The statements in this section merely provide background information related to the present disclosure and may not constitute prior art.
Multimedia Message Service Center (MMSC) serves to deliver multimedia messages of text, graphic, video, audio and other media formats on the networks. The MMSC activates the sending flow when it receives a multimedia message sent from a Multimedia Message Service (MMS) terminal, a Value-Added Service Provider (VASP), or an email server to the MMS. The sending flow includes two phases: PUSH notification flow and message retrieval flow. At present, the PUSH notification flow of MMS service mainly refers to that the MMSC sends one or more short messages containing PUSH notification to the receiving terminal. The PUSH notification includes the information of the multimedia messages, e.g., the addressing information required by the receiving terminal for retrieving the multimedia message, the sender ID, the subject of multimedia message and the address of the receiving terminal. The addressing information includes the MMSC address and the sole identification of multimedia message in the MMSC. The receiving terminal activates the message retrieval flow when it receives the PUSH notification, i.e., it initiates a message retrieval request to the MMSC that saves the multimedia message and retrieves the multimedia message according to the addressing information in the PUSH notification.
The multimedia message delivery are very similar in GSM, GPRS, WCDMA, CDMA95, CDMA2000 and other networks, therefore, the multimedia message delivery in GSM network is taken as the example for a description of the multimedia message delivery solution in related art.
FIG. 1 illustrates a whole procedure of delivering a multimedia message from the initiating party, e.g., an MMS terminal, a VASP or a mail server, to the receiving party, e.g., a MSC/MMS terminal in related art, which includes the following steps:
Step 11: The initiating party of multimedia message submits the multimedia message to the MMSC, with the address information of the receiving MMS terminal, e.g., a mobile phone number, carried in the multimedia message.
Step 12: Upon receiving the multimedia message, the MMSC activates the PUSH notification flow to send a PUSH notification to the receiving MMS terminal. Specifically, the PUSH notification flow includes the following steps:
Step 1201: The MMSC sends a PUSH information message (push_message) to the Wireless Application Gateway (WAPGW), and records the times of executing this step. The push_message carries the PUSH notification which contains the addressing information required by the receiving MMS terminal for retrieving the multimedia message, the sender ID, the subject of multimedia message, and address information of the receiving MMS terminal. The addressing information includes the MMSC address and the sole identification of the multimedia message in the MMSC.
Step 1202: the WAPGW returns a PUSH response message (push_response) to the MMSC when it receives the push_message.
Step 1203: The WAPGW adopts the interface protocol between the WAPGW and the Short Message Service Center (SMSC), i.e., the Short Message Peer to Peer Protocol (SMPP) to package up the PUSH notification in the push_message into a short message, and adopts SMPP to send the submit message (submit_sm) to the SMSC, with the short message containing the PUSH notification carried in the message, and records the times of executing this step. In an actual network of an operator, the interface protocol between the WAPGW and the SMSC may also be Universal Computer Protocol (UCP), Computer Interface Message Delivery (CIMD) protocol or other protocols of the same type.
Step 1204: Upon receiving the submit_sm, SMSC returns a submit response (submit_sm_resp) to the WAPGW, and executes Step 1205.
Steps 1205˜1208 are the flow of the SMSC sending short messages to the receiving MMS terminal. Specifically, the flow includes the following steps:
Step 1205: The SMSC determines the address of the receiving MMS terminal's Home Location Register (HLR) according to the address information of the receiving MMS terminal carried by the PUSH notification in submit_sm, sends a routing request message (map_sri_for_sm_req) to the HLR, and records the times of executing this step. If the network is a CDMA network, the routing request message is a SMSREQ message.
Step 1206: Upon receiving the map_sri_for_sm_req, the HLR returns a routing response message (map_sri_for_sm_resp) to the SMSC, with the address of the MSC in which the receiving MMS terminal currently locates carried in the message.
If the network is a CDMA network, the routing response message may be a smsreq message. If the network is a GPRS or a WCDMA network, the routing information carried in the routing response message may be the address of the MSC or SGSN in which the receiving terminal currently locates.
Step 1207: SMSC reads the routing information from map_sri_for_sm_resp, and sends a short message forwarding request message (map_mt_fwd_sm_req) to the receiving MMS terminal via the receiving MSC according to the routing information, with the short message containing the PUSH notification carried in the short message forwarding request message.
If the network is a CDMA network, the short message forwarding request message may be a Short Message Delivery Peer to Peer (SMDPP) request message.
Step 1208: The receiving MMS terminal returns a short message forwarding response message (map_mt_fwd_sm_resp) to the SMSC via the receiving MSC, with the information indicating that the PUSH notification carried in the short message forwarding response message has been successfully sent. The SMSC decides in a preset time whether it has received the map_mt_fwd_sm_resp carrying the information indicating whether the PUSH notification is successfully sent, and if received, executes Step 1209; otherwise, the SMSC decides whether to resend the PUSH notification and the resending time according to the internal resend strategy. If the SMSC decides to resend the PUSH notification, it decides whether the times of executing Step 1205 exceeds the preset value, and if it exceeds, the SMSC decides that the sending of PUSH notification has failed and executes Step 1209; otherwise, the SMSC adopts the resend strategy and returns to Step 1205.
If the network is a CDMA network, the response message returned by the MSC to the SMSC may be smdpp.
Step 1209: The SMSC sends a delivery report message (deliver_sm) to the WAPGW, with the information indicating whether the PUSH notification has been successfully sent carried in the deliver_sm.
Step 1210: Upon receiving the deliver_sm, the WAPGW returns a delivery report response message (deliver_sm_resp) to the SMSC and decides whether the PUSH notification has been successfully sent according to the delivery report message, if successful, executes Step 1211; otherwise, the WAPGW decides whether to resend the PUSH notification according to the internal resend strategy. If the WAPGW decides to resend the PUSH notification, it decides whether the times of executing Step 1203 exceeds the preset value, and if exceeds, the WAPGW decides that the sending of PUSH notification has failed and executes Step 1211; otherwise, the WAPGW adopts the resend strategy and returns to Step 1203.
Step 1211: WAPGW sends to the MMSC a result notification message (resultnotification_message), with the information indicating whether the PUSH notification has been successfully sent carried in the result notification message.
Step 1212: Upon receiving the resultnotification_message, the MMSC returns a result notification response message (resultnotification_response) to the WAPGW, and decides whether the PUSH notification has been successfully sent according to the resultnotification_message, if successful, the WAPGW terminates the PUSH notification flow; otherwise, the SMSC decides whether to resend the PUSH notification and the resending time according to the internal resend strategy. If the MMSC decides to resend the PUSH notification, it decides whether the times of executing Step 1201 exceeds the preset value, if it exceeds, the MMSC decides that the sending of PUSH notification has failed, terminates the multimedia message delivery flow, and then decides that the delivery of multimedia message has failed and executes Step 17; otherwise, the MMSC adopts the resend strategy and returns to Step 1201.
The steps of 13 to 17 are multimedia message retrieval flow. Specifically, the retrieval flow includes the following steps:
Step 13: Upon receiving the short message carrying the PUSH notification, the receiving MMS terminal processes according to its own selected mode. If the receiving MMS terminal selects delayed retrieval of multimedia message, it reports to the MMSC that it has received the PUSH notification via the notification response (MM1_notification.RES) according to the addressing information for retrieving multimedia message carried in the PUSH notification, and then executes Step 14. If the receiving MMS terminal selects prompt retrieval of multimedia message, it executes Step 14 directly.
Step 14: When the multimedia retrieval time is reached, the receiving MMS terminal sends to the MMSC a multimedia message retrieval request (MM1_retrieve.REQ) according to the addressing information for retrieving multimedia message carried in the PUSH notification.
Step 15: The MMSC sends the multimedia message to the receiving MMS terminal via the multimedia message retrieval response message (MM1_retieve.RES).
Step 16: In the case of delayed retrieval, the receiving MMS terminal returns the receive status of the multimedia message to the MMSC via multimedia message acknowledgement message (MM1_acknowledgement.REQ). In the case of prompt retrieval, the receiving MMS terminal returns the receive status of the multimedia message to the MMSC via the MM1_notification.RES.
Step 17: If there is a requirement for the delivery status of multimedia message by the initiating party, the MMSC returns the delivery status report of the multimedia message to the initiating party, with the receiving party's receive status of the multimedia message carried in the delivery status report. If there is no requirement for the delivery status of multimedia message by the initiating party, the flow comes to an end.
It can be seen from the above flow that the PUSH notification is critical to the entire MMS business, and is an essential requisite to ensure that the receiving party obtains messages normally.